/*
 * SampleComplexType.h
 *
 *  Created on: 01/06/2013
 *      Author: Jeffrey Alvarez Masson
 */

#ifndef SAMPLECOMPLEXTYPE_H_
#define SAMPLECOMPLEXTYPE_H_

#include <vector>
#include <string>
#include <ctime>

namespace ValidationRules {

enum SampleEnumeration {
	One,
	Two,
	Three,
	Four,
	Five,
	Six,
	Seven,
	Eight,
	Nine
};

class SampleComplexType {
public:
	int intField;
	double doubleField;
	bool boolField;
	char* charPField;
	std::string stringField;
	tm structField;
	tm* structPField;
	std::vector<SampleComplexType*> vectorOfPtrField;
	SampleEnumeration enumField;

	int getIntField() { return intField; }
	double getDoubleField() { return doubleField; }
	char* getCharPField() { return charPField; }
	std::string getStringField() { return stringField; }
	tm getStructField() { return structField; }
	tm* getStructPField() { return structPField; }
	std::vector<SampleComplexType*>& getVectorOfPtrField() { return vectorOfPtrField; }
	SampleEnumeration getEnumField() { return enumField; }
};

} /* namespace ValidationTable */
#endif /* SAMPLECOMPLEXTYPE_H_ */
